/**
 * 判断对象是否为空
 * 
 * @param v
 * @returns {Boolean}
 */
function isEmpty(v) {
	switch (typeof v) {
	case 'undefined':
		return true;
	case 'string':
		if (v.length == 0)
			return true;
		break;
	case 'boolean':
		if (!v)
			return true;
		break;
	case 'number':
		if (0 === v)
			return true;
		break;
	case 'object':
		if (null === v)
			return true;
		if (undefined !== v.length && v.length == 0)
			return true;
		for ( var k in v) {
			return false;
		}
		return true;
		break;
	}
	return false;
}

/**
 * 通用模态提示框
 * 
 * @param str
 */
function showTips(str) {
	if (!isEmpty(str)) {
		// 如果不存在tipsModal则创建一个
		if (isEmpty($("#tipsModal"))) {
			var s = '<div id="tipsModal" class="modal hide alert" data-backdrop="static">';
			s += '<div>';
			s += '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>';
			s += '<div id="tips"></div>';
			s += '</div>';
			s += '</div>';
			$("body").prepend(s);
		}
		$('#tips').html(str);
		$('#tipsModal').modal('show');
	}
}

/**
 * 获取对象所有属性
 * 
 * @param f
 * @returns {String}
 */
function getAllParam(f) {
	var s = f + "\n";
	for ( var i in f) {
		s = s + i + ":" + f[i] + "\n";
	}
	return s
}

/**
 * 获取对象所有属性名称
 * 
 * @param f
 * @param name
 * @returns {String}
 */
function getAllName(f, name) {
	var s = f + "\n";
	for ( var i in f) {
		if (name != null) {
			if (i.indexOf(name) != -1) {
				s = s + i + "\n";
			}
		} else {
			s = s + i + "\n";
		}
	}
	return s
}